package sample.tools;/*
 *             ┏┓     ┏┓ + +
 *           ┏━┛┻━━━━━┛┻━┓ + +
 *           ┃           ┃ + + +
 *           ┃      ━    ┃ + + + +
 *          ████━████    ┃ + + +
 *           ┃           ┃ + +
 *           ┃     ━┻    ┃ +
 *           ┃           ┃ +
 *           ┗━━┓     ┏━━┛ +
 *              ┃     ┃  + + + +
 *              ┃     ┃  + + + +  + + + +
 *              ┃     ┃  +  Code is far away from bug with the animal protecting
 *              ┃     ┃  +      神兽保佑,代码无bug
 *              ┃     ┃  +                    @author shy @date:2020-12-18 16:58
 *              ┃     ┃  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 *              ┃     ┗━━━━━━━━━┓ +
 *              ┃               ┣━┓ +
 *              ┃               ┏━┛ + +
 *              ┗━┓ ┓ ┏━━┳ ┓ ┏━━┛ + +
 *                ┃ ┫ ┫  ┃ ┫ ┫  + +
 *                ┗━┻━┛  ┗━┻━┛  +
 */

public class BinaryUtils {

    /**
     * 判断正负数 是负数吗？
     * @param a 输入10进制数
     * @return 正数返回false，负数返回true
     */
    public static boolean isNegative(int a){
        int b = (a >> 8) & 0xFF;    //高八位
        return (b & 128) == 128;    // 负数返回true；正数返回false
    }

    /**
     * 将 hex 转华为 int 型 数
     * @param hexString hex字符串
     * @return int数
     */
    public static int hexString2Int(String hexString){
        if (hexString != ("")){
            try {
                int num = Integer.parseInt(hexString, 16); //将16进制转化为10进制数
                if (isNegative(num)){
                    num = -(((~num) & 0xffff) + 1);
                }
                return num;
            }catch (Exception e){
                return 0;
            }
        }else {
            return 0;
        }
    }

}
